工控網首頁
>

應用設計

>

用Excel實現BP神經網絡及其在數字識別中的應用

用Excel實現BP神經網絡及其在數字識別中的應用

2006/5/17 9:40:00
關鍵詞:BP神經網絡;Excel;數字識別 中圖分類號:TP319 文獻標識碼:A Implementation for BP Neural network with Excel and Application to Digit Recognition HU Gui-ming, ZHAO Hui-min, XU Wei-chao (College of Electrical Engineering, Guangxi University, Nanning 530004, China) Abstract: In this paper, A BP neural network is introduced which is realized in worksheets and Visual Basic Editor of Macro under the circumstance of Microsoft Excel and then use it to recognize the print digit. It is straight and convenient that interface of Excel is used to put in or get out the data and this method has many virtues sound code cant compare with. This procedure can also be used to recognize English letter. Key words: BP neural network; Excel; digit recognition 1 引言 人工神經網絡(ANN)是當今智能控制領域最活躍的分支之一,它所具有的并行計算能力、容錯能力、泛化能力,以及以任意精度逼近未知非線性對象的特點,為解決未知非線性對象的控制問題,提供了一種有效的方法。人們先后提出了幾十種 ANN模型,其中基于BP(Back Propagation)算法的前饋神經網絡,是ANN中比較成熟的一種,并得到了廣泛的應用。本文在回顧BP算法的基礎上,以數字識別為實例用Excel的工作表和宏中Visual Basic編輯器的實現該算法。 2 BP網絡的模型和學習算法 BP算法的基本思想是,學習過程由信號的正向傳播和誤差的反向傳播兩個過程組成。在正向傳播過程中,輸入信息從輸入層經隱含層逐層計算傳向輸出層,每一層神經元的狀態只影響下一層神經元的狀態。如果在輸出層沒有得到期望的輸出,則計算輸出層的誤差變化值,然后轉向反向傳播,通過網絡將誤差信號沿原來的連接通路反傳回來修改各層神經元的權值直至達到期望目標。 本文采用圖1所示的單隱層網絡。單隱層網絡的應用最為普遍。習慣將單隱層前饋網稱為三層前饋網或三層感知器,三層包括了輸入層、隱層和輸出層。
以上各式共同構成了BP網絡的數學模型。 BP算法的推導在這不再贅述,以下是單隱層 BP網絡各層權值調整計算公式:
3 BP神經網絡的程序實現 2.1 樣本的準備 本算法以數字識別為實例,訓練樣本和測試樣本采用不同的印刷體數字。在樣本的準備中,要將實際問題投向轉化為神經網絡可以接受的數據輸入,經神經網絡計算后,再把網絡的輸出轉化為實際問題的解,這涉及到特征的提取。在本文中將數字的橫向和縱向分成32份,得到一個32×32的網格。在數字的筆劃覆蓋單元格一半面積以上的單元格賦值1,否則賦值0,從而得到一個32×32的矩陣(如圖2所示)。作為神經網絡的輸人數據,要將這個矩陣轉化為一個1024×1的數組,特征提取這部分的過程可以在宏功能中編程實現。則每套印刷體樣本(包括0,1,…,9十個數字)的特性可用一個1024×10的數組表示。這個網格在Excel的工作表中制作,1024×10的數組也存儲在工作表中。
輸出數值的范圍為阿拉伯數字0到9,其節點個數的選擇可有多種方案。這里作者采用二進制數表示這十個數字,也就是說輸出層節點個數最少可以為4個。 隱節點的確定采用試湊法,在樣本訓練前設置隱節點的個數,先設置較少的隱節點訓練網絡,然后再逐漸增加隱節點個數,用同樣的樣本進行訓練,從中確定網絡誤差最小時對應的隱節點個數。 2.2 BP神經網絡的訓練 樣本儲存在Excel的工作表中,BP算法用宏中的Visual Basic編輯器實現,這樣數據的讀取和輸出非常方便。圖3是標準BP算法的程序流程圖。 (1)初始化。對權值矩陣W、Y賦隨機數,將樣本模式計數器p和訓練次數計數器q置為1,誤差 E置0,信息效率設為0~1間的小數,網絡訓練后
2.3 BP神經網絡的測試 用一些新的樣本作為測試樣本,對已訓練好的網絡進行測試,測試結果的界面如圖4所示。測試結果計算出了每個樣本組的識別率以及平均識別率,并顯示了該網絡的總均方誤差。我們可以在測試結果中通過比較平均識別率來確定網絡的最佳總均方誤差。 3 結束語 本文簡單的介紹了反向傳播BP算法的基本概念,在Excel的工作表中實現樣本的采樣以及樣本的存儲以及結果的輸出,算法的編程采用宏中的 Visual Basic編輯器。Excel的工作表非常龐大,可以儲存大量的樣本,并且可以根據需要修改樣本庫。Visual Basic編輯器中的語言能夠存取Excel的所有命令和對象,且兼容了Basic編程語言的命令和語法,可以控制Excel的所有功能。利用Excel的界面輸入輸出數據,即直觀又方便,有著源程序不可比擬的優點。該程序也可用于英語字母的識別。 參考文獻 [1] 韓力群.人工神經網絡理論、設計及應用[M].化學工業出版社。2002.1 [2] 布寧.Excel Visual Basic for Application用戶使用指南[M].顧鐵成,等譯.北京:科學出版社,1996.10. [3] 賀興時,劉宇.BP神經網絡算法在數字識別中的應用[J].西北紡織工學院學報,2000,14(4),356~362. [4] 雷建和.反向傳播(BP)算法極其在VB5中的實現[J].青島建筑工程學院學報,1999,20(4),79~84.
投訴建議

提交

查看更多評論
其他資訊

查看更多

超越傳統直覺,MATLAB/Simulink助力重型機械的智能化轉型

新大陸自動識別精彩亮相2024華南國際工業博覽會

派拓網絡被Forrester評為XDR領域領導者

智能工控,存儲強基 | ??低晭砭手黝}演講

展會|Lubeworks路博流體供料系統精彩亮相AMTS展會